1. Field of the Invention
Embodiments of the present invention generally relate to internationalizing software applications, and, in particular, to a system and method for providing on the fly translations of user-interface text into a foreign language without access to source code.
2. Description of Related Art
Known systems and methods for internationalizing software applications include providing international versions of software and/or pre-defined sets of user interface messages in select foreign languages, but these choices are generally limited in what is allowed. Additional effort and access to source code may be needed in order to internationalize less popular user applications, leading to inefficiencies and increased costs. The customer's perception of applications with limited language support may negatively affect their satisfaction with the user application.
Connected, shared and personalized information devices such as smart phones, two-way pagers, personal organizers, internet TVs, tablet PCs, etc., are becoming increasingly important to consumers. Many software applications (i.e., “apps”) for such information devices were not designed with internationalization in mind and as such will generate a user interface in only one language.
Internationalization techniques known in the art generally involve modifying computer source code of an application to support mapping of text data into other languages via language-specific property files. For example, an English text phrase may be identified by a unique identifier (“ID”), and this ID then becomes a lookup key into a language specific property file to find the corresponding phrase in the new language. This internationalization technique requires the following steps:
First, accessing computer source code of an application, which may not be readily available, especially for third party components;
Second, making changes to computer source code of an application to support mapping of text data into other languages via language specific property files or APIs; and
Third, requiring creation of property files to perform the mapping of text data into a specific language. A specific property file must be created for each language which means a fixed set of languages is supported and additional work must be performed to support additional languages.
On-the-fly language translation using a JavaScript API and an internet-accessible translation server is available, but such a solution requires an active internet connection while running the JavaScript API, and it requires that a developer alter the computer source code of an application to be translated, in order to pass each phrase or sentence requiring translation to the translation server.
For the reasons described above, modifying computer source code of an application to support multiple languages is often a costly, labor-intensive and error prone activity. End users who own such an application are unable to localize the user interface into their preferred language. In the case of free applications for information devices, the revenue is often too small to generate any interest for the developer to invest the time to support multiple languages.
However, these information devices may be customizable by allowing users to download new services and applications from the Internet. Therefore, a need exists for an application to run on information devices in order to provide a customizable user interface in the consumer's preferred language, and ultimately improved customer satisfaction with their information device.